package obstaculos;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.util.ArrayList;
import java.util.Random;


public class ElevadoresSortidos extends Obstaculo{

	public float vely = 0;
	
	public boolean mexendo = false;
	
	public ElevadoresSortidos(int x, int y, BufferedImage img, BufferedImage imgA) {
		this.X = x;
		this.Y = y;
		XAtivacao = x + 160;
		YAtivacao = 128;
		posicoesX[0] = x;
		posicoesY[0] = y;
		for(int i = 1; i < ordens.length; i++){
			posicoesX[i] = posicoesX[i-1] + 32;
			if(ordens[i] == 0){
				posicoesY[i] = y;
			}else{
				posicoesY[i] = y + 16;
			}
		}
		this.sprite=img;
		this.spriteAtivacao = imgA;
		largura = 352;
		altura = 32;
		larguraAtivacao = 32;
		alturaAtivacao = 32;
		//jogador = GamePanel.instancia.heroi;
	}

	public void SimulaSe(long diftime) {
		
		Tx = ((int)X + 32) / 32;
		Ty = ((int)Y + 64) / 32;
		
		if(ativado && posicoesY[0] < Y + 16){
			mexendo = true;
			for(int i = 0; i < ordens.length; i++){
				if(ordens[i] == 0){
					posicoesY[i] += 0.5;
				}else{
					posicoesY[i] -= 0.5;
				}
			}
		}else if(!ativado && posicoesY[2] < Y + 16){
			for(int i = 0; i < ordens.length; i++){
				if(ordens[i] == 0){
					posicoesY[i] -= 0.5;
				}else{
					posicoesY[i] += 0.5;
				}
			}
		}else{
			mexendo = false;
		}
	}

	public void DesenhaSe(Graphics2D dbg,int mapx,int mapy) {
		// TODO Auto-generated method stub
		for(int i = 0; i < ordens.length; i++){
			dbg.drawImage(sprite, (int)posicoesX[i]-mapx, (int)posicoesY[i]-mapy, null);
		}
		if(ativado){
			dbg.drawImage(spriteAtivacao, (int)XAtivacao-mapx, (int)YAtivacao-mapy,(int)XAtivacao+32-mapx, (int)YAtivacao+32-mapy, 32, 0,64, 32, null);
		}else{
			dbg.drawImage(spriteAtivacao, (int)XAtivacao-mapx, (int)YAtivacao-mapy,(int)XAtivacao+32-mapx, (int)YAtivacao+32-mapy, 0, 0,32, 32, null);
		}
	}
}